Iterative deepening is a variant of depth first search designed to deal with search tree where some branches are very deep, possibly infinitely so. It proceeds just like normal depth first search, but limits its search to the first D level of the tree, where D is a limiting factors, perhaps 10 levels. If this search is unsuccessful, D is increased and the process repeated (with tweaks to avoid repeated work).
Defined on pages 68, 68
Used on pages 68, 69, 74, 80, 222